MCS-034 Software Engineering
(3 Credits)
Objectives
The objective of the courses is to make the learner efficiently work as software engineer. S/he should be well acquainted with all the phases of Software Development Life Cycle. The learner should be able to apply the concepts learned for doing research.
Syllabus
Block 1 :
Overview of Software Engineering
Unit 1: Software Engineering
and its models
·
Evolution of Software Engineering
·
Software development models
·
Capability maturity models
·
Software process technology
Unit 2:
Principles of Software Requirements Analysis
·
Engineering the product
·
Modeling the system architecture
·
Software prototyping and specification
Unit 3:
Software Design
·
Data design
·
Architectural design
·
Interface design
·
HCI design
·
Modular design
Unit 4: Software testing
·
Testing techniques
·
Testing for
specialized environments
·
Debugging
BLOCK 2:
Software Project Management
Unit 5: Software Project Planning
·
Different types
of project metrics
·
Software project
estimation
·
Models for estimation
·
Automated tools
for estimation
Unit 6: Risk management and Project
Scheduling
·
Identification
of Software risks
·
Monitoring of
risks
·
Management of
risks
·
Formulating
a task set for the project
·
Choosing the
tasks of software engineering
·
Scheduling methods
·
The Software
project plan
Unit 7: Software Quality Assurance
·
Formal technical
reviews
·
Software reliability
·
Software quality
standards
Unit 8: Software change management
·
Baselines
·
Version control
·
Change control\
·
Auditing and
reporting
BLOCK 3: Advanced Software
Engineering
Unit 9: Web Software Engineering
·
Different layers
·
Issues of management
of web based projects
·
Metrics
·
Analysis
·
Design
·
Testing
Unit 10: Mobile
Software Engineering
·
Transition from
design to coding of mobile applications
·
Elements of
mobile applications
·
Approaches to
the development of mobile applications
Unit 11: CASE tools
·
Analysis tools
·
Design tools
·
SQA tools
·
UI design tools
·
Software testing
tools
·
Web engineering
tools
Unit 12:
Advanced Software Engineering
·
Clean room Software
engineering
·
Component based
Software engineering
·
Re-engineering
·
Reverse engineering